#ifndef LUMIERE_H
#define LUMIERE_H

#include "objet.h"
#include <GL/glut.h>

class Lumiere : public Objet
{
  public:
  Lumiere();
  ~Lumiere();

  void setSpecular(const float r, const float g, const float b, const float a);
  void getSpecular(float &r, float &g, float &b, float &a);
  
  void setAmbient(const float r, const float g, const float b, const float a);
  void getAmbient(float &r, float &g, float &b, float &a);
  
  void setDiffuse(const float r, const float g, const float b, const float a);
  void getDiffuse(float &r, float &g, float &b, float &a);
  
  void setCutoff(float angle);
  float getCutoff();
  
  void setExponent(const float expo);
  float getExponent();
  
  void setDirection(const float x, const float y, const float z);
  void getDirection(float &x, float &y, float &z);
  
  void setAttenuation(const float quad, const float linear, const float constant);
  void getAttenuation(float &quad, float &linear, float &constant);
  
  void setID(int id);
  int getID();
  
  void display();
  
  protected:
  float _specular[4];
  float _ambient[4];
  float _diffuse[4];
  float _attenuation[3];
  float _cutoff;//demi-angle d'ouverture du cône
  float _direction[3];
  float _exponent;
  
  int _lightID;
  
};

#endif
